OpenFoam Assignment | The Lid-Driven Cavity
Abstract
–SAMPLE ABSTRACT–
Keywords: computational fluid dynamics, CFD, incompressible, Paraview, R, Python, coe347, spring 2022.
Motivation
The flow around an infinite, circular cylinder is a well-studied, but yet not completely understood problem in CFD (computational fluid dynamics). A simple exploration of the steady and unsteady flow at low Reynolds numbers is undertaken here, to provide a light overview of the problem.
Implementation
We implement all simulation with OpenFoam, analysis with Paraview and Python3, and documentation code in R Xie, Dervieux, and Riederer (2020).
Mesh Assembly : Preliminaries
We assemble a set of preliminary meshes for simulations with Reynolds number 20 and 110, consisting of an inner cylindrical segment and outer rectangular segment as follows. The following mesh schematics list dimension parameters and block configuration, courtesy of Dr.Fabrizio Bisetti, UT Austin.
Mesh Schema
The blocks and block vertices are as follows. The blue vertices denote the other Z-plane.
The edges are defined by listing points \(P\) as follows.
A symmetry plane is defined in OpenFoam s.t. boundary effects do not significantly affect results. So the resulting simulation will look as below.
For all the meshes unless otherwise noted, the parameters are as follows, with units in meters for all dimensions on the diagram, and Re denoting the Reynolds number.
- f : blockMeshFactor (decreases cell dimensions in each direction by this factor), set by default :
int(max(10, Re/3)) - R : cylinder radius, default:
1/2 - R2 : ring block outer radius, default:
3/2 - H : height, default:
4 - F : forward distance, default:
4 - W : wake (backward) distance, default:
4 + Re*(1/15) - K : +/- distance in Z-axis — mostly irrelevant for anything in this project, default:
4
The preliminary meshes run_20_1 and run_110_1 simply follow the default settings.
Mesh Files
BlockMeshDict files are available here: run_20_1 and run_110_1,
blockMesh logs are available here: run_20_1 and run_110_1,
checkMesh logs are available here: run_20_1 and run_110_1.
Mesh Figures
Mesh images are shown here, for detail comparision. We will show the run_20_1 mesh first and then the run_110_1 mesh.
run_20_1:
run_110_1:
Preliminary Solutions
We assemble a set of preliminary solutions for Reynolds number 20 and 110 (the previous meshes). The Re=20 mesh will be shown first.
Three contour plots will be shown: \(\frac{u}{U}\), \(\frac{v}{U}\), \(\frac{p}{\rho U^2}\), along with a streamline plot.
For Re=110 (the unsteady case), a time history of \(\frac{u}{U}\), \(\frac{v}{U}\), \(\frac{p}{\rho U^2}\) at \((x,y)=(5.5,\pm0.5)\) versus normalized time \(\frac{t}{\frac{D}{U}}\).
Note data for a couple of points (about 0.1%) was imputed due to file errors.
run_20_1:
run_110_1:
Time History plots for run_110_1:
Mesh Improvement
We can see that the mesh extent is fairly adequate, except possibly the height (H) for Re=110. All boundary flow is not perturbed, with the exception of the aforementioned region. We can also see vortices for the Re=110 case, and the inner block does not cause any boundary issues, so we will make only the following minor changes to each mesh.
For the mesh run_20_1, we will increase the blockMeshFactor from 10 to 15 (so a block increase of ~2.25). This mesh will be called run_20_2.
For the mesh run_110_1, we will increase the blockMeshFactor from 36 to 45 (so a block increase of ~1.5625), and increase height (H) from 4 to 6. This mesh will be called run_110_2.
Mesh Files
Files for the new meshes are listed below.
BlockMeshDict files are available here: run_20_2 and run_110_2,
blockMesh logs are available here: run_20_2 and run_110_2,
checkMesh logs are available here: run_20_2 and run_110_2.
Mesh Figures
Mesh images are shown here, for detail comparision. We will show the run_20_1 mesh first and then the run_110_1 mesh.
run_20_2:
run_110_2:
Solutions
The Re=20 mesh will be shown first.
The same three contour plots will be shown: \(\frac{u}{U}\), \(\frac{v}{U}\), \(\frac{p}{\rho U^2}\), along with a streamline plot.
For Re=110 (the unsteady case), a time history of \(\frac{u}{U}\), \(\frac{v}{U}\), \(\frac{p}{\rho U^2}\) at \((x,y)=(5.5,\pm0.5)\) versus normalized time \(\frac{t}{\frac{D}{U}}\).
run_20_2:
run_110_2:
Time History plots for run_110_2:
References
Appendix
Thank you so much for reading this work!